home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / mmdf / mmdf-IIb.43 / lib / util / gpwlnam.c < prev    next >
Encoding:
C/C++ Source or Header  |  1986-02-01  |  639 b   |  30 lines

  1. #include "util.h"
  2. #include <pwd.h>
  3.  
  4. /* modified getpwnam(), to do lexical (case-independent) comparison */
  5.  
  6. struct passwd *
  7. gpwlnam(name)
  8. char *name;
  9. {
  10.     struct passwd *getpwent();
  11.     char lownam[30];
  12.     register struct passwd *p;
  13.     register int ind;
  14.  
  15.     for (ind = 0; ind < ((sizeof lownam) - 1) && !isnull (name[ind]); ind++)
  16.     lownam[ind] = uptolow (name[ind]);
  17.     lownam[ind] = '\0';
  18.  
  19.     for (setpwent(); (p = getpwent()) != NULL; )
  20.     {
  21.     for (ind = 0; !isnull (name[ind]); ind++)
  22.         p -> pw_name[ind] = uptolow (p -> pw_name[ind]);
  23.  
  24.     if (strcmp (lownam, p->pw_name) == 0)
  25.         break;
  26.     }
  27.     endpwent();
  28.     return(p);
  29. }
  30.